package com.snow.framework.core.utils;

import java.lang.reflect.Method;

/**
 * @author 李朋
 * @desc 根据类class，通过反射获取类中方法
 * @date 2018-3-19
 */
public final class MethodObtain {

    /**
     * @desc 获取类中set方法
     * @param clazz 当前类class
     * @param filedName 属性名
     * @param typeClass 当前属性类型
     * @return method 或者 null
     */
    public static Method obtainSetMethod(Class<?> clazz, String filedName, Class<?> typeClass) throws NoSuchMethodException{
        String methodName = "set" + filedName.substring(0,1).toUpperCase() + filedName.substring(1);
        Method method = clazz.getMethod(methodName, String.class);
        return method;
    }

    /**
     * @desc 获取类中get方法
     * @param clazz 当前类class
     * @param filedName 属性名
     * @return method 或者 null
     */
    public static Method obtainGetMethod(Class<?> clazz, String filedName) throws NoSuchMethodException{
        String methodName = "get" + filedName.substring(0,1).toUpperCase() + filedName.substring(1);
        Method method = clazz.getMethod(methodName);
        return method;
    }
}
